Câu 1: Hiện tại 2 nền tảng mobile nào có số lượng người dùng cao nhất? Đáp án đúng: Android và IOS Câu 2: Phần mềm nào KHÔNG phải là phần mềm cơ bản của các phiên bản Android? Đáp án đúng: Dropbox Câu 3: Hãng điện thoại nào đang là hãng sản xuất nhiều nhất điện thoại sử dụng hệ điều hành Android? Đáp án đúng: Samsung Câu 4: Phiên bản Android nào có tên là Android Tiramisu? Đáp án đúng: 13 Câu 5: Hệ điều hành Android được xây dựng trên nền tảng hệ điều hành nào? Đáp án đúng: Linux Câu 6: Phiên bản Android 10 có tên là gì? Đáp án đúng: Android Q Câu 7: Các ứng dụng trên Android được viết bằng ngôn ngữ nào? Đáp án đúng: Java hoặc Kotlin Câu 8: Plugin nào được sử dụng với Eclipse để phát triển ứng dụng Android? Đáp án đúng: ADT plugin Câu 9: Thành phần nào KHÔNG phải là thư viện (library) của Android? Đáp án đúng: Oracle Câu 10: Thành phần nào KHÔNG phải là thành phần của Application Framework? Đáp án đúng: Disk Manager Câu 11: Phần mềm nào KHÔNG phải là công cụ gỡ lỗi (debug) cho ứng dụng Android? Đáp án đúng: Zend Studio Câu 12: Thông tin nào KHÔNG được chứa trong file aab? Đáp án đúng: java file Câu 13: Các ứng dụng trên android được chuyển sang định dạng file gì để có thể chạy được trên máy ảo Dalvik? Đáp án đúng: dex Câu 14: SubActivity là gì? Đáp án đúng: Là activity được gọi bởi activity khác. Câu 15: Khởi tạo activity bằng cách gọi hàm nào? Đáp án đúng: startActivity Câu 16: Thông thường khi nhấn nút Back trên điện thoại Android, điều gì xảy ra? Đáp án đúng: Quay lại activity trước đó. Câu 17: Mục đích của lớp ContentProvider là gì? Đáp án đúng: Chia sẻ dữ liệu giữa các ứng dụng Android. Câu 18: Android manifest là file có định dạng gì? Đáp án đúng: XML Câu 19: Câu nào sau đây là đúng? Đáp án đúng: startActivity và startActivityForResult đều có thể sử dụng để bắt đầu activity mới. Câu 20: Lớp nào sau đây là lớp cha của lớp ứng dụng chính của ứng dụng Android (lớp có giao diện người dùng)? Đáp án đúng: Activity Câu 21: Câu nào sau đây là đúng? Đáp án đúng: Cả phương thức startActivity và startSubActivity có thể khởi tạo activity một cách đồng bộ. Câu 22: File nào để chứa các xâu ký tự trong chương trình Android? Đáp án đúng: strings.xml Câu 23: File nào chứa giao diện chính của chương trình Android? Đáp án đúng: activity_main.xml Câu 24: Để thay đổi biểu tượng của ứng dụng trong launcher, chúng ta phải thay đổi file nào? Đáp án đúng: icon.png Câu 25: Truy vấn thông tin ContentProvider thông qua cái gì? Đáp án đúng: Content://URI Câu 26: File nào chứa thông tin tên ứng dụng, version android tối thiểu mà ứng dụng đòi hỏi? Đáp án đúng: AndroidManifest.xml Câu 27: Tất cả thành phần giao diện được khởi tạo ở đâu? Đáp án đúng: main thread Câu 28: Người ta thường ánh xạ giao diện ở phương thức nào? Đáp án đúng: onCreate Câu 29: Layout nào cho phép bố trí giao diện dưới dạng Tab? Đáp án đúng: TabLayout Câu 30: Layout nào cho phép bố trí giao diện dưới dạng dòng và cột? Đáp án đúng: TableLayout Câu 31: File layout nằm trong thư mục nào của Android Project? Đáp án đúng: res/layout Câu 32: Mặc định mỗi dòng trong ListView là gì? Đáp án đúng: TextView Câu 33: Giá trị mặc định của thuộc tính android:layout_weight là bao nhiêu? Đáp án đúng: 0 Câu 34: Tất cả thuộc tính trong XML Layout đều có tiền tố là gì? Đáp án đúng: android Câu 35: Giá trị nào của thuộc tính android:layout_width và android:layout_height dùng để xác định View sẽ có chiều rộng và chiều cao bằng đối tượng View cha? Đáp án đúng: match_parent Câu 36: Giá trị nào của thuộc tính android:layout_height dùng để xác định View sẽ có chiều cao vừa đủ với kích thước của nó? Đáp án đúng: wrap_content Câu 37: Thay đổi thông tin về theme của ứng dụng, chúng ta thay đổi trong file nào? Đáp án đúng: AndroidManifest.xml Câu 38: Hàm nào bắt buộc phải gọi trước khi gọi hàm findViewById? Đáp án đúng: setContentView Câu 39: Thư mục res chứa các thông tin gì? Đáp án đúng: Tài nguyên Câu 40: Phương thức nào dùng để enable hoặc disable một item trong Menu? Đáp án đúng: onPrepareOptionsMenu Câu 41: Phương thức nào được sử dụng để xử lý sự kiện khi một phím trên bàn phím được ấn? Đáp án đúng: setOnKeyListener Câu 42: Có mấy kiểu Progress Bar trong Android? Đáp án đúng: 2 Câu 43: Option Menu có tối đa bao nhiêu item, nếu quá số item này thì sẽ có thêm nút More? Đáp án đúng: 6 Câu 44: Phương thức nào được sử dụng để xử lý khi một item trong CheckBox được check? Đáp án đúng: setOnCheckedChangeListener Câu 45: Phương thức nào được sử dụng để biết được người dùng thay đổi date trên điều khiển DatePicker Đáp án đúng: OnDateChangedListener Câu 46: Khai báo layout cho XML Menu nằm trong thư mục nào? Đáp án đúng: res/menu Câu 47: Phương thức setOnCreateContextMenuListener được sử dụng để làm gì? Đáp án đúng: Đăng ký một context menu với một View. Câu 48: Làm thế nào để khi chọn một thông báo notification trên Status Bar, sẽ hiển thị một giao diện tương ứng? Đáp án đúng: Tạo một Intent để khởi tạo một Activity khi notification được chọn. Câu 49: Để tạo mới một Alert Dialog, chúng ta phải sử dụng lớp nào? Đáp án đúng: AlertDialog.Builder Câu 50: Lệnh nào dùng để hiển thị một thông báo trên màn hình? Đáp án đúng: Toast.makeText(context, “Message”, Toast.LENGTH_SHORT).show(); Câu 51: Thư mục nào để chứa layout cho giao diện khi màn hình ở chế độ landscape mode? Đáp án đúng: res/layout-land Câu 52: Sử dụng hàm nào để thực hiện vẽ bất kỳ các đối tượng 2d, shape? Đáp án đúng: onDraw Câu 53: Cơ sở dữ liệu mà Android hỗ trợ sẵn là Đáp án đúng: SQLite Câu 54: Cơ sở dữ liệu SQLite Đáp án đúng: chỉ cần 1 file duy nhất để lưu trữ, và có thể có thêm 1 file journals để lưu tạm và rollback. Câu 55: Kiểu dữ liệu ngày tháng được lưu trữ trong SQLite là kiểu gì? Đáp án đúng: Date Câu 56: Kiểu dữ liệu lưu trữ số nguyên trong SQLite là gì? Đáp án đúng: Integer Câu 57: Kiểu dữ liệu lưu trữ văn bản trong SQLite là gì? Đáp án đúng: Text Câu 58: Lớp SQLite có bao nhiêu class hỗ trợ? Đáp án đúng: 2 Câu 59: Câu lệnh SQL dùng để tạo bảng với khóa chính tự tăng là Đáp án đúng: create table student(_id integer primary key autoincrement, name text) Câu 60: Hãy cho biết kết quả khi chạy đoạn lệnh sau: String sql = "create table student(id integer primary key, name text)"; database.execSQL(sql); Đáp án đúng: Chương trình sẽ tạo ra bảng student có 2 trường id và trường name. Câu 61: Trong SQLiteOpenHelper, phương thức được gọi khi cơ sở dữ liệu được tạo ra lần đầu là Đáp án đúng: onCreate Câu 62: Trong SQLiteOpenHelper, phương thức được gọi khi cơ sở dữ liệu được nâng cấp là Đáp án đúng: onUpgrade Câu 63: Thông qua DDMS, có thể xem cơ sở dữ liệu SQLite thông qua đường dẫn: Đáp án đúng: DDMS ® file explorer ® data ® data ® your package name ® databases. Câu 64: Trong SQLiteOpenHelper, phương thức được gọi để tạo Database Đáp án đúng: Constructor Câu 65: Để lưu trữ SQLite trên thẻ nhớ, quyền cần cung cấp trong Android Manifest là: Đáp án đúng: android.permission.WRITE_EXTERNAL_STORAGE Câu 66: Chương trình sử dụng WebView phải có quyền gì? Đáp án đúng: android.permission.INTERNET Câu 67: Câu nào là sai đối với WebView? Đáp án đúng: Có thể sử dụng tag trong XML layout Câu 68: Sử dụng lớp nào để truy cập và thay đổi thông tin trên trình duyệt mặc định của hệ điều hành Android? Đáp án đúng: WebViewClient Câu 69: Sử dụng phương thức nào để lấy thông tin tiêu đề trên trang web chạy trên trình duyệt? Đáp án đúng: onReceivedTitle Câu 70: Phương thức nào của WebSettings để cho phép trang web có thể phóng to thu nhỏ Đáp án đúng: setBuiltInZoomControls Câu 71: Phương thức nào của WebSettings để cho phép WebView hỗ trợ JavaScript? Đáp án đúng: setJavaScriptEnabled(true) Câu 72: Câu nào là đúng khi nói về URL và URI? Đáp án đúng: Tất cả URL là URI nhưng không phải tất cả URI là URL Câu 73: Lớp nào có các phương thức liên quan đến đường dẫn kết nối mạng? Đáp án đúng: URL Câu 74: Phương thức nào của WebView được sử dụng để chạy một URL? Đáp án đúng: loadUrl Câu 75: Điều khiển nào sử dụng WebKit engine? Đáp án đúng: WebView Câu 76: Cho đoạn mã lệnh sau: wv.setWebChromeClient(new WebChromeClient() { @Override public void onReceivedTitle(WebView view, String title) { getWindow().setTitle(title); } }); Hãy cho biết đoạn lệnh trên dùng để làm gì? Đáp án đúng: Thay đổi title của trang web. Câu 77: Các câu lệnh sau dùng để làm gì (wv là WebView)? @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK) && wv.canGoBack()) { wv.goBack(); return true; } return super.onKeyDown(keyCode, event); } Đáp án đúng: Quay lại trang web trước trên trình duyệt khi chọn nút Back. Câu 78: Khi thời gian kết nối đến một URL quá timeout, phương thức getInputStream() sẽ đưa ra ngoại lệ nào? Đáp án đúng: java.net.SocketTimeoutException Câu 79: Tổ chức nào phối hợp với Google để tạo ra Android? Đáp án đúng: Open handset alliance Câu 80: Android Studio do công ty nào tạo ra? Đáp án đúng: Google Câu 81: Google đã mua lại hãng điện thoại nào để sản xuất điện thoại Android để cạnh tranh với Apple và Samsung? Đáp án đúng: Motorola Câu 82: Thành phần nào là thành phần của Android runtime? Đáp án đúng: Dalvik Virtual Machine Câu 83: IDE nào KHÔNG dùng để phát triển ứng dụng trên Android? Đáp án đúng: Visual Studio Câu 84: Công nghệ máy ảo nào do Google tạo ra cho hệ điều hành Android? Đáp án đúng: Dalvik Virtual Machine Câu 85: Trong quá trình biên dịch, android project được biên dịch và đóng gói thành file có đuôi gì? Đáp án đúng: apk hoặc aab Câu 86: Phương thức nào thích hợp nhất để lưu các dữ liệu quan trọng? Đáp án đúng: Activity.onPause() Câu 87: Phương thức nào là phương thức không đồng bộ? Đáp án đúng: startActivityForResult Câu 88: Phương thức nào được gọi khi activity đầu tiên được tạo? Đáp án đúng: onCreate() Câu 89: Để activity xuất hiện ở launcher, phải khai báo category trong intent_filter như thế nào? Đáp án đúng: android.intent.category.LAUNCHER Câu 90: Phương thức nào được gọi khi activity chuẩn bị biến mất? Đáp án đúng: onPause() Câu 91: File nào có chứa các thông tin Resource ID dùng để truy cập đến các tài nguyên (drawable, layout, styles, string)? Đáp án đúng: R.java Câu 92: File nào liệt kê quyền mà ứng dụng yêu cầu? Đáp án đúng: AndroidManifest.xml Câu 93: Tất cả thành phần của chương trình được nhóm trong tag nào của AndroidManifest? Đáp án đúng: application Câu 94: Layout nào cho phép sắp xếp các view con ở phía trong theo chiều dọc hoặc chiều ngang? Đáp án đúng: LinearLayout Câu 95: Layout nào mà các thành phần con dựa trên mối quan hệ với các thành phần khác? Đáp án đúng: RelativeLayout Câu 96: Để ràng buộc nội dung động vào View trong ListView, chúng ta sử dụng gì? Đáp án đúng: ArrayAdapter Câu 97: Trong Java, sử dụng phương thức nào để lấy thông tin về View theo Id của View? Đáp án đúng: findViewById Câu 98: Styles của giao diện được lưu trong thư mục nào? Đáp án đúng: res/values Câu 99: Thư mục nào dùng để lưu trữ code java trong project android? Đáp án đúng: src/ Câu 100: Phương thức nào dùng để xử lý một item trong Menu được chọn? Đáp án đúng: onOptionsItemSelected Câu 101: Phương thức nào được sử dụng để xử lý khi một View được click và giữ một lúc? Đáp án đúng: setOnLongClickListener Câu 102: Câu nào sau đây là đúng? Đáp án đúng: Option Menu xuất hiện khi ấn vào phím Menu, Context Menu xuất hiện khi click vào View một vài giây. Câu 103: Lớp nào được sử dụng để khởi tạo menu từ file XML menu? Đáp án đúng: MenuInflater Câu 104: Để hiển thị một thông báo trên status bar, phải sử dụng công cụ gì? Đáp án đúng: Sử dụng Notification Manager. Câu 105: Kiểu Progress Bar nào để hiển thị chi tiết phần trăm hoàn thành một công việc nào đó Đáp án đúng: determinate Câu 106: Thư mục nào để chứa layout cho giao diện khi màn hình ở chế độ portrait mode? Đáp án đúng: res/layout Câu 107: Android cung cấp class nào hỗ trợ SQLite? Đáp án đúng: QLiteOpenHelper, SQLiteDatabase Câu 108: Kiểu dữ liệu có giá trị đúng sai được lưu trữ trong SQLite là kiểu gì? Đáp án đúng: Integer Câu 109: Kiểu dữ liệu lưu trữ số thực trong SQLite là gì? Đáp án đúng: Real Câu 110: Hãy cho biết kết quả khi chạy đoạn lệnh sau: String sql = "create table student(id primary key, name text)"; database.exec(sql); Đáp án đúng: Chương trình có lỗi khi biên dịch. Câu 111: Lớp trợ giúp tạo ra cơ sở dữ liệu và phiên bản cho chính nó là Đáp án đúng: SQLiteOpenHelper Câu 112: Trong SQLiteOpenHelper, phương thức được gọi khi thay đổi version database Đáp án đúng: onUpgrade Câu 113: Trong SQLiteOpenHelper, để tạo thực thi câu lệnh SQL ta dùng phương thức nào? Đáp án đúng: execSQL() Câu 114: Điều khiển được sử dụng để hiển thị nội dụng trang web trong ứng dụng Android? Đáp án đúng: WebView Câu 115: Sử dụng lớp nào để truy cập và thay đổi thông tin trên trình duyệt Chrome? Đáp án đúng: WebChromeClient Câu 116: Để thay đổi thông tin về trình duyệt, sử dụng lớp nào? Đáp án đúng: WebSettings Câu 117: Để tải thông tin qua HTTP, chúng ta phải làm gì? Đáp án đúng: Sử dụng thư viện chuẩn của Java Câu 118: Đối với URLConnection, sử dụng phương thức nào để thiết lập timeout cho connection? Đáp án đúng: setConnectTimeout() Câu 119: Phương thức getOutputStream() của URLConnection dùng để làm gì? Đáp án đúng: Cho phép ghi thông tin vào HTTP connection Câu 120: Đối với URLConnection, để mở kết nối tới một URL, sử dụng phương thức gì? Đáp án đúng: openConnection